import request from "@/utils/request";

const FOODINFO_BASE_URL = "/api/v1/sysFoodInfos";

const FoodInfoAPI = {
    /** 获取食物数据分页数据 */
    getPage(params:any) {
        return request({
            url: `${FOODINFO_BASE_URL}/page`,
            method: "GET",
            data:params
        });
    },
    /**
     * 获取食物数据表单数据
     *
     * @param id FoodInfoID
     * @returns FoodInfo表单数据
     */
    getFormData(id: number) {
        return request<any, FoodInfoForm>({
            url: `${FOODINFO_BASE_URL}/${id}/form`,
            method: "get",
        });
    },

    /** 添加食物数据*/
    add(data: FoodInfoForm) {
        return request({
            url: `${FOODINFO_BASE_URL}`,
            method: "post",
            data: data,
        });
    },

    /**
     * 更新食物数据
     *
     * @param id FoodInfoID
     * @param data FoodInfo表单数据
     */
     update(id: number, data: FoodInfoForm) {
        return request({
            url: `${FOODINFO_BASE_URL}/${id}`,
            method: "put",
            data: data,
        });
    },

    /**
     * 批量删除食物数据，多个以英文逗号(,)分割
     *
     * @param ids 食物数据ID字符串，多个以英文逗号(,)分割
     */
     deleteByIds(ids: string) {
        return request({
            url: `${FOODINFO_BASE_URL}/${ids}`,
            method: "delete",
        });
    }
}

export default FoodInfoAPI;

/** 食物数据分页查询参数 */
export interface FoodInfoPageQuery extends PageQuery {
    /** 名称 */
    name?: string;
}

/** 食物数据表单对象 */
export interface FoodInfoForm {
    id?:  number;
    /** 名称 */
    name?:  string;
    /** 一级分类编码 */
    firstCode?:  number;
    /** 二级分类编码 */
    secondCode?:  number;
    /** 食部(%) */
    ediblePortion?:  number;
    /** 水分(g) */
    water?:  number;
    /** 能量（千卡） */
    energyKcal?:  number;
    /** 能量（千焦） */
    energyKj?:  number;
    /** 蛋白质(g) */
    protein?:  number;
    /** 脂肪(g) */
    fat?:  number;
    /** 碳水化物(g) */
    carbohydrate?:  number;
    /** 膳食纤维(g) */
    fiber?:  number;
    /** 胆固醇(mg) */
    cholesterol?:  number;
    /** 灰分(g) */
    ash?:  number;
    /** 维生素A(μgRE) */
    vitaminA?:  number;
    /** 硫胺素(mg) */
    thiamine?:  number;
    /** 核黄素(mg) */
    riboflavin?:  number;
    /** 维生素B6(mg) */
    vitaminB6?:  number;
    /** 维生素B12(mg) */
    vitaminB12?:  number;
    /** 叶酸(ug) */
    folate?:  number;
    /** 烟碱(mg) */
    niacin?:  number;
    /** 维生素C(mg) */
    vitaminC?:  number;
    /** 维生素E(mg) */
    vitaminE?:  number;
    /** 钙(mg) */
    calcium?:  number;
    /** 磷(mg) */
    phosphorus?:  number;
    /** 钾(mg) */
    potassium?:  number;
    /** 钠(mg) */
    sodium?:  number;
    /** 镁(mg) */
    magnesium?:  number;
    /** 铁(mg) */
    iron?:  number;
    /** 锌(mg) */
    zinc?:  number;
    /** 硒(mg) */
    selenium?:  number;
    /** 铜(mg) */
    copper?:  number;
    /** 锰(mg) */
    manganese?:  number;
    /** 碘(mg) */
    lodine?:  number;
    /** 胡萝卜素(μg) */
    carotene?:  number;
    /** 视黄醇(μg) */
    retinol?:  number;
    /** 尼克酸/烟酸(mg) */
    niacinOrNiacin?:  number;
    /** α-维生素E(mg) */
    αTocopherol?:  number;
}

/** 食物数据分页对象 */
export interface FoodInfoPageVO {
    /** 名称 */
    name?: string;
    /** 一级分类编码 */
    firstCode?: number;
    /** 二级分类编码 */
    secondCode?: number;
    /** 食部(%) */
    ediblePortion?: number;
    /** 水分(g) */
    water?: number;
    /** 能量（千卡） */
    energyKcal?: number;
    /** 能量（千焦） */
    energyKj?: number;
    /** 蛋白质(g) */
    protein?: number;
    /** 脂肪(g) */
    fat?: number;
    /** 碳水化物(g) */
    carbohydrate?: number;
    /** 膳食纤维(g) */
    fiber?: number;
    /** 胆固醇(mg) */
    cholesterol?: number;
    /** 灰分(g) */
    ash?: number;
    /** 维生素A(μgRE) */
    vitaminA?: number;
    /** 硫胺素(mg) */
    thiamine?: number;
    /** 核黄素(mg) */
    riboflavin?: number;
    /** 维生素B6(mg) */
    vitaminB6?: number;
    /** 维生素B12(mg) */
    vitaminB12?: number;
    /** 叶酸(ug) */
    folate?: number;
    /** 烟碱(mg) */
    niacin?: number;
    /** 维生素C(mg) */
    vitaminC?: number;
    /** 维生素E(mg) */
    vitaminE?: number;
    /** 钙(mg) */
    calcium?: number;
    /** 磷(mg) */
    phosphorus?: number;
    /** 钾(mg) */
    potassium?: number;
    /** 钠(mg) */
    sodium?: number;
    /** 镁(mg) */
    magnesium?: number;
    /** 铁(mg) */
    iron?: number;
    /** 锌(mg) */
    zinc?: number;
    /** 硒(mg) */
    selenium?: number;
    /** 铜(mg) */
    copper?: number;
    /** 锰(mg) */
    manganese?: number;
    /** 碘(mg) */
    lodine?: number;
    /** 胡萝卜素(μg) */
    carotene?: number;
    /** 视黄醇(μg) */
    retinol?: number;
    /** 尼克酸/烟酸(mg) */
    niacinOrNiacin?: number;
    /** α-维生素E(mg) */
    αTocopherol?: number;
}
